﻿/******************************************************************************
 * 【本类功能概述】                                 					      *
 *  版权所有（C）2020-20XX，                                        *
 *  保留所有权利。                                                            *
 ******************************************************************************
 *  作者 : <hughjk>
 *  创建时间:2019/11/24 23:40:03
 *  文件描述: 
 *****************************************************************************/
using System;
using System.Collections.Generic;
using UnityEngine;
using Util;
namespace StateModel
{
    public class SoldierIdleState : SoldierState
    {
        public float m_AlertneScope = 10;
       
        public override void InitModel(Controller controller)
        {
            base.InitModel(controller);
            stateType = StateType.Idle;
        }
        SoldierAttackState attackState;
        public override void GetModel()
        {
            base.GetModel();
            attackState = m_StateManage.Fin<SoldierAttackState>(StateType.Attack);
        }
        public override void OnUpdata(float dt)
        {
            base.OnUpdata(dt);  
            if (attackState.IsObj(m_AlertneScope)||m_input.data.IsTag)
            {  
                SwitchState(StateType.Move);
            }
        }
        public bool IsObj(RaycastHit2D go)
        {
            if (go)
            {
                var soldier = go.transform.GetComponent<Controller>();
                if (soldier)
                {
                    if (soldier._TeamType != m_controller._TeamType)
                    {
                        return true;
                    }
                }
            }
          
            return false;
        }
    }
}


